Page Index
6 A XXL_JOB定时任务使用
JL 于 2021-05-14 10:32:13 +08:00 修改了此页面
此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

JooLun版本

  • V2.8.8+

系统中未用到xxl-job,并非JooLun源码部分,只对其做了支持,仅供学习

官方文档:http://www.xuxueli.com/xxl-job/

XXL-JOB服务端本地部署

<xxl.job.version>2.2.0</xxl.job.version>
  • 新建数据库joolun_job,将脚本xxl-job\doc\db\tables_xxl_job.sql导入到新建的joolun_job库中
  • 下载下来的源码中包含了三个项目,我们只需将xxl-job-admin项目导入到idea
  • 修改配置文件xxl-job-admin/src/main/resources/application.properties中的数据源
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/joolun_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  • 右击运行xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java
  • 运行成功后在浏览器量打开http://127.0.0.1:8080/xxl-job-admin
  • 以上服务端就成功运行起来了

XXL-JOB服务端生产环境部署

  • 新建数据库joolun_job,将脚本xxl-job\doc\db\tables_xxl_job.sql导入到新建的joolun_job库中
  • 修改配置文件xxl-job-admin/src/main/resources/application.properties中的数据源
  • mvn clean install打包
  • 将生成的xxl-job-admin-2.2.0.jar包上传到服务器
  • 启动
nohup java -Xms128m -Xmx256m -jar xxl-job-admin-2.2.0.jar >xxl-job-admin.out &

客户端使用可参考base-mall-admin模块

  • 在需要定时任务的项目中添加依赖
<!--job-->
<dependency>
    <groupId>com.joolun</groupId>
    <artifactId>base-common-job</artifactId>
</dependency>
  • nacos中给当前项目增加配置文件
xxl:
  job:
    # 开关
    enabled: true
    admin:
      # xxl_job后台访问地址
      addresses: http://127.0.0.1:8080/xxl-job-admin
    executor:
      appname: base-mall-admin
      # 单机部署多个执行器时,注意要配置不同执行器端口
      port: 9998
  • 编写业务代码(@XxlJob("orderCancelJobHandler")
@XxlJob("orderCancelJobHandler")
public ReturnT<String> orderCancelJobHandler(String s) {
    ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();
    XxlJobLogger.log("This is a demo job." + shardingVO);
    return SUCCESS;
}

通过调度中心启动定时任务

  • 访问调度中心(http://127.0.0.1:8080/xxl-job-admin
  • 配置“执行器管理”,注意对应nacos中的配置信息,AppName对应配置文件中的xxl.job.executor.appname
  • 配置执行器的对应“任务管理“新增任务,JobHandler对应上面任务Handler中@XxlJob("orderCancelJobHandler")注解的值,这里是orderCancelJobHandler

具体使用详细,请自行去XXL-JOB官网和百度学习